package com.baichang.taoshunda.dao;

import com.baichang.framework.dao.BaseDao;
import com.baichang.framework.model.Page;
import com.baichang.taoshunda.entity.ReservationOrder;

import java.util.List;
import java.util.Map;

/**
 * Created by ${wushenglu} on 2018/3/13.
 */
public interface ReservationOrderDao extends BaseDao<ReservationOrder> {
    /**
     * 用户已确认消费
     *
     * @param id
     * @return
     */
    boolean updateUserStatus(Integer id);

    /**
     * @param orderNumber
     * @return
     */
    List<Map<String, Object>> findReservationOrder(String orderNumber);

    /**
     * 查询预约的剩余订单数量
     *
     * @param orderNumber
     * @return
     */
    int getCountByNumber(String orderNumber);

    /**
     * 商家已确认消费
     *
     * @param id
     * @return
     */
    boolean updateCompanyStatus(Integer id);

    /**
     * 查看全部的
     *
     * @param orderNumber
     * @return
     */
    int getCountByOrder(String orderNumber);

    int getCountByOrderAndState0(String orderNumber);

    /**
     * 修改为消费的订单为退款状态
     *
     * @param orderNumber
     */
    void updateOrderState(String orderNumber);

    /**
     * @param orderNumber
     * @param nowPage
     * @param pageSize    @return
     */
    Page queryReservationOrder(String orderNumber, int nowPage, int pageSize);

    /**
     * 功能描述:
     *
     * @param orderNumber 订单编号
     * @return:
     * @auther: wsl
     * @date: 2019/2/20 11:39
     */
    double getAllMoneyByOrder(String orderNumber);

    /**
     * 功能描述:
     *
     * @param orderNumber 订单编号
     * @return:
     * @auther: wsl
     * @date: 2019/2/20 11:56
     */
    Double getReturnMoney(String orderNumber);
}
